/**
 *  onwheel:鼠标滚动
 *  onscroll:页面滚动 + 鼠标滚动
 */


// window.onscroll = function () {
//   var scrollTop = document.documentElement.scrollTop     //获取页面滚动的高度
//   console.log(scrollTop)
// }
// window.onwheel = function () {
//   console.log('页面滚动了')
// }

// 定义一个防抖函数，用于限制函数的执行频率
function debource(fn, delay) {
  // 定义一个定时器变量
  var timer = null;
  // 返回一个新的函数
  return function () {
    // 如果定时器存在，则清除定时器
    if(timer) clearTimeout(timer)

    // 设置定时器，在指定的时间后执行传入的函数
    timer = setTimeout(fn, delay)
  }
}

// 定义一个节流函数，用于限制函数的执行频率
function throttle(fn, delay) {
  // 定义一个变量valid，用于判断函数是否可以执行
  var valid = true
  // 返回一个新的函数
  return function () {
    // 如果函数不能执行，则直接返回false
    if(!valid) return false
    // 将valid设置为false，表示函数不能执行
    valid = false
    // 使用setTimeout函数，在指定的时间后执行函数
    setTimeout(function() {
      // 执行传入的函数
      fn();
      // 将valid设置为true，表示函数可以执行
      valid = true
    }, delay)
  }
}
// 定义一个函数，用于处理滚动事件
function handleScroll() {
  // 获取当前页面的滚动距离
  var scrollTop = document.documentElement.scrollTop
  // 在控制台输出滚动距离
  console.log(scrollTop)
}


window.onscroll = debource(handleScroll, 1000)
window.onscroll = throttle(handleScroll, 2000)

